home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 3895 / 3895.xpi / chrome / compact-ce.jar / content / showhide.js < prev    next >
Text File  |  2009-04-09  |  2KB  |  58 lines

  1. var showhide = {
  2. pref: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("compact.menu."),
  3.  
  4. load: function() {
  5.     setTimeout(window.focus, 0);
  6.     CMCE.firefox = Custom.getMainWindow();
  7.  
  8.     Custom.deleteOrRestoreMenus(true);
  9.  
  10.     this.loadMenus("hidelist");
  11.     this.loadPref("hidelist");
  12. },
  13.  
  14. loadPref: function(list) {
  15.     var array = CMCE.getItemListFromPref(list);
  16.     var target = document.getElementById(list);
  17.     for(var i = 0; i < target.childNodes.length; i++) {
  18.         for (var j = 0; j < array.length; j++) {
  19.             var item = target.childNodes[i];
  20.             if (item.getAttribute("targetId") == array[j]) {
  21.                 item.checked = true;
  22.                 break;
  23.             }
  24.         }
  25.     }
  26. },
  27.  
  28. loadMenus: function(id) {
  29.     var list = document.getElementById(id);
  30.     var menubar = CMCE.firefox.getElementById("main-menubar");
  31.     for (var item=menubar.firstChild; item; item=item.nextSibling) {
  32.         try {
  33.             var adv = item.advRestorePoint;
  34.             if (item.tagName == "menu" && item.id || adv) {
  35.                 var li = document.createElement("checkbox");
  36.                 li.setAttribute("targetId", (adv ? item.oriId : item.id));
  37.                 li.hidden = adv;
  38.                 var label = (adv ? CMCE.firefox.getElementById(item.oriId) : item).getAttribute("label");
  39.                 li.setAttribute("label", (label ? label : "( "+item.id+" )"));
  40.                 list.appendChild(li);
  41.             }
  42.         } catch(e) {}
  43.     }
  44. },
  45.  
  46. save: function () {
  47.     this.saveArray("hidelist");
  48.     CMCE.hideItems();
  49. },
  50.  
  51. saveArray: function(list){
  52.     var listbox = document.getElementById(list);
  53.     var pref = "";
  54.     for (var item=listbox.firstChild; item; item=item.nextSibling)
  55.         if (item.checked) pref =  pref + (pref ? "," : "") + item.getAttribute("targetId");
  56.     nsPreferences.setUnicharPref( "compact.menu."+list, pref);
  57. }
  58. }